  // 创建 Loca 实例
  var loca = new Loca.Container({
    map: map,
  });
  // 创建 LineLayer（浮空线段）
  let lineLayer = new Loca.LineLayer({
    loca: loca,
    zIndex: 100, // 确保图层在上层
  });
  // 创建辅助线图层
  let guideLineLayer = new Loca.LineLayer({
    loca: loca,
    zIndex: 50, // 确保辅助线在底层但可见
  });
  // 设置 LineLayer 数据源
  lineLayer.setSource(
    new Loca.GeoJSONSource({
      data: {
        type: "FeatureCollection",
        features: [],
      },
    })
  );
  // 设置辅助线图层数据源
  guideLineLayer.setSource(
    new Loca.GeoJSONSource({
      data: {
        type: "FeatureCollection",
        features: [],
      },
    })
  );
  // 设置 LineLayer 样式
  lineLayer.setStyle({
    altitude: true, // 启用高度
    dash: [10, 0], // 实线
    lineWidth: 5, // 线段宽度
    color: "#3366ff", // 颜色属性名改为 color
  });
  // 设置辅助线样式
  guideLineLayer.setStyle({
    altitude: true, // 启用高度
    dash: [1, 9], // 虚线样式
    lineWidth: 2,
    color: "#b6b6b6", // 颜色属性名改为 color
    opacity: 0.8,
  });
  const { createApp, reactive, ref } = Vue;
  let app = createApp({
    setup() {
      let allData = reactive([]); // 总数据
      let id = ref(0); // 当前编辑的id
      let defaultHeight = 200; // 默认高度
      let isDrawing = ref(false); // 是否正在绘制
      let drawing_mode = ref(2); // 绘制模式 1航线绘制 2起飞点绘制
      const offset = 0.00001; // 约1米偏移，确保线段可见
      
      // 添加缺失的 calculateDistance 函数
      function calculateDistance(point1, point2) {
        const R = 6371000; // 地球半径（米）
        const lat1 = point1[1] * Math.PI / 180;
        const lat2 = point2[1] * Math.PI / 180;
        const deltaLat = (point2[1] - point1[1]) * Math.PI / 180;
        const deltaLng = (point2[0] - point1[0]) * Math.PI / 180;

        const a = Math.sin(deltaLat / 2) * Math.sin(deltaLat / 2) +
          Math.cos(lat1) * Math.cos(lat2) * Math.sin(deltaLng / 2) * Math.sin(deltaLng / 2);
        const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
        const distance = R * c;
        
        return Math.round(distance); // 返回整数米数
      }
      
      let temp = reactive({
        tempmarker: null, // 临时标点
        tempLine: null, // 临时线段
        tempGuideLine: null, // 临时辅助线
      });
    }
  }); 
